package co.edu.javeriana.konigsberg.xavier.gui.bean;


import java.math.BigInteger;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import co.edu.javeriana.konigsberg.xavier.dto.TipoProgramaDTO;
import co.edu.javeriana.konigsberg.xavier.servicio.TipoProgramaServicioLocal;

@ManagedBean(name="tipoProgramaBean")
@SessionScoped
public class TipoProgramaBean extends ManagerBean{
	private static final long serialVersionUID = 1L;

	@EJB
	private TipoProgramaServicioLocal tipoProgramaServicio;
	
	private Map<String,BigInteger> tiposPrograma;
	
	private BigInteger idTipoPrograma;

	@PostConstruct
	public void init(){
		//tipoProgramaServicios = new TipoProgramaServicios();
	}
	
	public Map<String, BigInteger> getTiposPrograma() {
		if(tiposPrograma == null){
			tiposPrograma = new HashMap<String, BigInteger>();
			List<TipoProgramaDTO> tipoProgramaDTOs = tipoProgramaServicio.obtenerLista();
			for (TipoProgramaDTO tipoProgramaDTO : tipoProgramaDTOs) {
				tiposPrograma.put(tipoProgramaDTO.getNombreTipoPrograma(), tipoProgramaDTO.getIdTipoPrograma());
			}
		}
		return tiposPrograma;
	}
	public void setTiposPrograma(Map<String, BigInteger> tiposPrograma) {
		this.tiposPrograma = tiposPrograma;
	}

	public BigInteger getIdTipoPrograma() {
		return idTipoPrograma;
	}

	public void setIdTipoPrograma(BigInteger idTipoPrograma) {
		this.idTipoPrograma = idTipoPrograma;
	}
	
	public TipoProgramaDTO obtenerSeleccionado(){
		return tipoProgramaServicio.obtenerTipoProgramaPorId(getIdTipoPrograma());
	}
}
